/*    */ package com.finir.fakturisanje.service;
/*    */ 
/*    */ import java.util.LinkedList;
import java.util.List;

import com.finir.fakturisanje.domain.Faktura;
import com.finir.fakturisanje.domain.Preduzece;
import com.finir.fakturisanje.domain.beans.enums.FakturaTip;
import com.finir.fakturisanje.persistence.hibernate.HibernatePersistenceManager;
import com.finir.fakturisanje.variables.StaticVariables;
/*    */ 
/*    */ public class FakturaFacade
/*    */ {
/*    */   HibernatePersistenceManager pm;
/*    */ 
/*    */   public FakturaFacade()
/*    */   {
/* 18 */     this.pm = new HibernatePersistenceManager();
/*    */   }
/*    */ 
/*    */   @SuppressWarnings("unchecked")
			public List<Faktura> vratiSveFakture(Integer year, Preduzece preduzece, FakturaTip fakturaTip)
/*    */   {
/* 25 */     String hql = "from FakturaBean f where extract(year from f.datum)=? and f.preduzece=? and f.fakturaTip=?";
/* 26 */     List param = new LinkedList();
/* 27 */     param.add(year);
/* 28 */     param.add(preduzece);
			 param.add(fakturaTip);
/* 29 */     return this.pm.executeQuery(Faktura.class, hql, param);
/*    */   }
/*    */ 
/*    */   public void obrisiFakturu(Object faktura)
/*    */   {
/* 34 */     this.pm.delete(faktura);
/*    */   }
/*    */ 
/*    */   @SuppressWarnings("unchecked")
			public Integer getBrojFakture(FakturaTip fakturaTip)
/*    */   {
/* 39 */     if ((StaticVariables.getPreduzece() != null) && 
/* 40 */       (StaticVariables.getGodina() != null)) {
/* 41 */       String hql = "select max(f.brojFakture) from FakturaBean f where extract(year from f.datum)=? and f.preduzece=?  and f.fakturaTip=?";
/* 42 */       List param = new LinkedList();
/* 43 */       param.add(StaticVariables.getGodina());
/* 44 */       param.add(StaticVariables.getPreduzece());
/*    */ 	   param.add(fakturaTip);
/* 46 */       Integer ret = (Integer)this.pm.returnUniqueResult(Integer.class, hql, param);
/*    */ 
/* 48 */       if (ret == null)
/* 49 */         return Integer.valueOf(1);
/*    */ 
/* 51 */       return Integer.valueOf(ret.intValue() + 1);
/*    */     }
/*    */ 
/* 54 */     return null;
/*    */   }
/*    */ }


